1. Field of the Invention
The present invention relates to a method of transferring data using an efficient transfer function and a system therefor, and in particular to the efficient data transfer for DVD type devices. More specifically, the present invention pertains to a dynamic data transfer bandwidth control method which dynamically adjusts bandwidth and transfer mode in accordance with the state of a decoder, e.g. error correction condition, and to a system therefor.
2. Description of Related Art
In the DVD field, a so-called "product" coding method, whereby many errors can be corrected by employing a relatively simple device, is employed as a coding method. Product coding has two distinct levels of coding whereby data are arranged in a rectangular shape with each row and column being encoded using an error correction code. This coding method is frequently used for communication devices and for storage devices, but it has a shortcoming in that it requires a longer period of time for decoding than does a one level coding method.
The format for a data portion on a DVD, for example, is shown in FIG. 1. The data are first arranged horizontally in rows, and when one row is filled with data, data is stored horizontally in the next row. In FIG. 1, PI and PO respectively denote an inner code parity and an outer code parity. Encoding is performed, first vertically and then horizontally.
The basic method for decoding is as follows.
(1) The maximum number of errors to be corrected is limited to about half of the maximum correction ability of the code, and row data (PI) correction processing is performed. That is, first the syndrome calculation is performed, and by using the result obtained, the number of errors is calculated. When the number of errors is small, the locations and the values of errors are calculated and error correction for them is performed. When the number of errors is large, pointers to rows in which there are errors are set and error correction is halted (random error correction+addition of erasure pointers).
(2) Erasure correction is performed for each column (PO) based on the pointers set in step (1).
Several variations of methods are used, such as a method that provides for the columns and rows to be exchanged to perform error correction, or one according to which error correction is partially performed in one direction before erasure pointers are set.
A supplemental explanation will be given for the erasure correction. Assume that, as the definition for erasure, the location where an error has occurred is detected but the value of error is unknown. When the number of erasures is h and the number of ordinary errors is e, it can be proved that so long as 2e+h+1.ltoreq.d is satisfied by the Reed-Solomon coding (or more generally, BCH coding), the errors and erasures can be obtained (d is a coding Hamming distance). Since the Hamming distance of the DVD outer code is 17, a maximum 16 erasures can be corrected if only erasures are present. The erasure locations required for erasure correction using the outer code are provided by decoding of inner code in DVD.
The relationship between a circuit (decoder) for performing error calculation and a buffer is shown in FIG. 2. In FIG. 2, data flow during reading is indicated by (1) through (5). Upon the receipt of an I/O request from a formatter, an MPU and a decoder, a buffer allocates a band in accordance with a schedule that is provided in advance.
The following two problems arise at this time.
(1) When column and row data processing is to be performed, as memory access methods differ (sequential access and random access), a fast memory access procedure, such as page mode access, can not be performed in both directions.
(2) When the number of errors to be corrected is increased, error correction for an entire block can not catch up because the access by the MPU is performed at random.
The data transferring using this product coding could cause deterioration of the data transfer efficiency because of an increase in the required processing time, which is accompanied by the use of different memory access methods for row and column data and by an increase in the number of errors to be corrected.
A conventional example for enhancing the data transfer efficiency is "a data transferring device" disclosed in Japanese Unexamined Patent Publication No. Sho 54-77002. According to this technique, when the number of errors along a transfer path reaches a specified value or higher, the probability that errors will occur during the data transferring can be reduced by changing from one bandwidth to another bandwidth (i.e., another transfer speed), in which noise has no effect on the data transfer, so that the baseband transfer efficiency is increased.
According to this technique, however, when the probability of error occurrences can not be reduced by changing the bandwidth, no improvement in the data transfer performance can be expected, and when the transfer speed can not be altered, this device can not be employed. For a storage device, the above described condition is equivalent to a case where an error is caused by a defect on a recording medium or a case where the rotational speed of a recording medium can not be changed.